Nightwatch 提供 Command Line Test Runner,便於設定、跑測試和產生測試報告。本篇先來探討安裝方式的差異和如何針對單檔、多檔、單檔+資料夾進行測試。
♡(´∀`)人(´∀`)♡
本系列文章皆使用這個專案,可以拉下來玩玩;有什麼問題都可以提出 issue。
兩種不同的安裝方式「全域安裝」(Global)和「限定專案安裝」(Project Specific)。
假設將 Nightwatch 全域安裝,則 Nightwatch 可在任何地方使用,不限於特定專案內。
啟動 Nightwatch。
nightwatch [source] [options]
指定環境為 local 以進行測試。
nightwatch --env local
若只在特定專案內安裝 Nightwatch,則可依以下方式啟動 Nightwatch。
啟動 Nightwatch。
./node_modules/nightwatch/bin/nightwatch [source] [options]
限定專案安裝可讓我們根據專案需求而使用不同版本的 Nightwatch 外,也能在 package.json 中一目了然目前跑測試所用版本,比起全域安裝是更好的選擇。
可以測試單檔、多檔、單檔+資料夾。
若要測試單一檔案,在 nightwatch 後加上檔案路徑即可。
nightwatch test/e2e/testDemo.js
執行結果。
若要測試多個檔案,也是在 nightwatch 後加上檔案路徑。
注意,這裡無法指定跑測試的順序喔!所以每個 Test Suite 是要能獨立運作的。
nightwatch test/e2e/class/testMainCategory.js test/e2e/class/testSubCategory.js
執行結果。
測試單檔就加上檔案路徑,若是某個資料夾底下就加上資料夾所在位置。
nightwatch test/e2e/testDemo.js test/e2e/class
執行結果。
Nightwatch Test Runner 提供許多不同的選項設定。
想要查詢 Nightwatch Test Runner 的選項設定,可這樣使用
nightwatch --help
或簡寫
nightwatch -h
接著得到結果。
將常用 Command-line Options 整理成表格以供參考。
選項名稱 | 縮寫 | 預設值 | 功能描述 |
---|---|---|---|
--config | -c | ./nightwatch.json | 設定 nightwatch.json 的路徑。Nightwatch Test Runner 和 Selenium Webdriver 皆會使用這個設定檔。 |
--output | -o | tests_outputs | JUnit XML 測試報告的所在位置。 |
--reporter | -r | junit | 預設定義報告所用的產生器名稱,或客製化報告工具所在的路徑。 |
--env | -e | default | 定義在 nightwatch.json 中選用的測試環境。 |
--verbose | 顯示其它擴充的 selenium 指令。 | ||
--version | -v | 目前所用 Nightwatch 的版本。 | |
--test | -t | 指定只跑特定的 Test Suite 或 Module。Test Runners 在預設情況下會跑所有 src_folders 所列的所有資料夾(含其子資料夾)。 | |
--testcase | 與 --test 合併使用。在目前的 Test Suit 或 Module 跑特定的 Test Case。 | ||
--group | -g | 只跑指定的 group 的測試程式。 | |
--skipgroup | -s | 忽略指定的 group 的測試程式。 | |
--filter | -f | 使用 glob expression 設定 filter,用來在載入檔案時利用 filter 過濾測試程式的檔名。 | |
--tag | -a | 指定只跑特定的標籤的測試程式。 | |
--skiptags | 忽略特定的標籤的測試程式,使用逗點分隔。 | ||
--retries | 重跑 n 次失敗或錯誤的 Test Case,n 即指定次數。重跑時也會重新執行 Test Hooks(beforeEach and afterEach)。 | ||
--suiteRetries | 重跑 n 次失敗或錯誤的 Test Suite / Test Module,n 即指定次數。重跑時也會重新執行 Test Hooks(before and after)。 |
Nightwatch Test Runner 提供許多不同的選項設定,待之後篇章一一介紹。
下一篇來看 Test Groups。
網誌版。